Modern web applications employ web pages and other documents that include objects represented by a document object model (DOM) or other similar structure that can be acted on or manipulated. These objects often have attributes that can change. The attributes include internal attributes, such as identifiers or object names, and external attributes, such as text, color, size, borders, display location, etc. To manipulate or act upon an object, a script or program must first identify the object to be manipulated. Object identification typically involves creating a description of the object based on attributes of the object that can be used to locate the object at a later time.